package com.gxa.pingan.mapper;

import com.gxa.pingan.pojo.Refund;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;

import java.sql.Timestamp;
import java.util.List;

/**
 * @author lijianmin
 * @date 2021/10/25  15:38:51
 */
public interface RefundMapper {

    /**
     * 退款列表查询的方法,orderType如果为空,则进行全查询,不为空则进行订单状态查询
     * @param orderType 订单状态
     * @param page 页码
     * @param size 每页记录数
     * @return 返回查询到的集合以及总数
     */
    List<Refund> getList(@Param("orderType")Integer orderType, @Param("page") Integer page, @Param("size") Integer size);


    Refund selectByOrderNum(@Param("orderNum")String orderNum);

    /**
     * 驳回退款的方法(修改订单状态为已拒绝(1))
     * @param orderNum 修改状态订单的orderNum
     * @param rejReason 驳回退款的理由
     * @return 返回修改后的数据和是否返回成功
     */
    Integer refuseRefund(@Param("orderNum")String orderNum, @Param("rejReason")String rejReason, @Param("updateTime")Timestamp updateTime);

    /**
     * 退款的方法(修改订单状态为退款完成(2))
     * @param orderNum 修改状态订单的orderNum
     * @return 返回修改后的数据和是否返回成功
     */
    Integer refund(@Param("orderNum")String orderNum,@Param("updateTime")Timestamp updateTime);

}
